home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / basic / glib19.zip / GLIB19.NEW < prev    next >
Text File  |  1991-06-27  |  10KB  |  332 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.       
  11.       
  12.                             GLib 1.90 and QuickBASIC 
  13.       
  14.  
  15.       
  16.          A.     What's New in GLib 1.90 ?? 
  17.       
  18.           With the addition  of complete support for BASIC PDS 7.0 and 7.1,
  19.      we have had to make a slight change in the version designations.   For
  20.      the  forseeable future, GLib  for QuickBASIC will  continue as normal,
  21.      with the name  and a version  number (as in  GLIB19.ZIP).  To  signify
  22.      support for the far  string features in Extended QuickBASIC  (supplied
  23.      with BASIC PDS), will  use an x suffix (as in  qbX) as in GLIB20x.ZIP.
  24.      Additionally, we will try to make it  clearer by using ODD numbers for
  25.      QB 4.5 etc, and EVEN numbers for PDS support (ie there will never be a
  26.      GLib 2.0 _and_ GLib 2.0/x  available).  So the  next GLib for QB  4.5+
  27.      would be GLib 2.1 while the next for PDS will be GLib 2.2/x. 
  28.        
  29.            Most all  of the  enhancements in  GLib 2.01x  have been  ported
  30.      (back ported?) to GLib 1.9 for QuickBASIC. 
  31.       
  32.       
  33.  
  34.                    ***  Greater inter-routine dependency  ***
  35.       
  36.           Since  GLib has a comprehensive  base of fundamental routines, it
  37.      is  now possible to  make the many  routines highly  dependant on each
  38.      other.  For example, QPrint, PGetCh  and DialogBox (among others) will
  39.      all require a certain  amount of common code to quickly  print text to
  40.      the screen.   GLib  1.90 has  become highly  integrated so  as not  to
  41.      replicate that code  over and over and over thus  reducing the overall
  42.      size.  Registered  users will find most  of these support routines  in
  43.      object  modules  with  the  name  beginning  with  an underscore  (eg:
  44.      _vtype.obj). 
  45.  
  46.       
  47.       
  48.                          *** More integrated options ***
  49.  
  50.        Building on the inherent abilities  of the library, integral options
  51.      have been added  to the more complex routines: eg PGetCh and DialogBox
  52.      can be set to emit a tone each time they are called, or 
  53.      disabled.  Another  example is that  virtually all the video  routines
  54.      allow for automatic mouse control!  Rather than calling MCsrDec before
  55.      each  QPrint or  Save/Restore  screen call  and  then calling  MCsrInc
  56.      afterwards, early in your program you can set a 'global' variable that
  57.      will automatically turn  off the mouse  cursor, perform the  operation
  58.      and then turn the mouse cursor on again!  Now, that's helpful! 
  59.       
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.                   ***  Superior string handling techniques ***
  78.  
  79.          We introduced this  in GLib 1.65 (with no mention or fanfare) to a
  80.      few routines to see how well it worked in the long haul.  Since it not
  81.      only works well, but is easier to use, we have converted many routines
  82.      that were previously subs returning significant strings to functions. 
  83.          Even with the  new far strings, we are able to continue to be able
  84.      to CREATE new strings from many of the  calls and return the result of
  85.      the  routine as   a  function.  (We  are watching  to see  how quickly
  86.      others 'clone' this elegant interface!) 
  87.       
  88.        For example: 
  89.       
  90.        Old way: 
  91.            ok$ = " "                       ' MUST create string space 
  92.            CALL GetCh("QWERTY", ret$) 
  93.       
  94.        New way: 
  95.            ret$ = GetCh$("QWERTY")         ' routine creates it! 
  96.       
  97.          GLib will CREATE  a new string pointer  and assign it to ret$ upon
  98.      the return.  See the compleat listing below. 
  99.       
  100.       
  101.       
  102.                  *** Changes to GLib names or functionality *** 
  103.       
  104.             BASIC  7.0/7.1 introduced several  new inherent  functions that
  105.      invalidated the need for  a few GLib functions.  While  these remain a
  106.      part of the library for backward code capability, names may need to be
  107.      changed to avoid  conflicts.  (Many of these BASIC  PDS syntax changes
  108.      do not directly  affect QB  4.5 users,  but in an  effort to  maintain
  109.      campatibility and code  portability, we'll changes these  in libraries
  110.      for QB as well): 
  111.       
  112.        ->   BASIC PDS finally has a new function named DIR that conflicts
  113.             with our own.  Our Dir routine has been renamed to DIRA (as in
  114.             DirArray) to avoid conflict with Dir$ 
  115.       
  116.       
  117.        ->   Several subs returning a string have been  enhanced to be
  118.             functions returning a string.    With GLib creating the string
  119.             to return to you, you no longer  have to be so careful in pre- 
  120.          allocating string space.   String subs that are now functions:
  121.               - GetCh        - DialogBox        - DeciBin 
  122.               - PGetCh       - PCase            - SubDirGet
  123.               - PrgName      - LastNFirst       - ReverseString 
  124.               - VLabelGet    - ArgV             - ExpandPath 
  125.       
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.       
  142.       
  143.                          *** New Features / Support *** 
  144.       
  145.           o We can now supply GLib on 720k 3.5 inch disks. 
  146.       
  147.           o Over 40 new routines, bringing the total to close to 300!:
  148.        
  149.           * Plus additional features integrated into existing routines:
  150.  
  151.             - FlexMenu now includes a definable Mark All key allowing
  152.               the end user to Mark All selections as selected
  153.  
  154.             - DialogBox has been greatly improved and modified to
  155.               resemble the one originally developed for BASIC PDS.
  156.               These are now dead look alikes for the Dialog Boxes used
  157.               in QB, QBX, Codeview et al.  Also, an automatic beep tone
  158.               option has been added.  We love this so much, that we
  159.               rarely use old fashioned windows or boxes any more:
  160.               DialogBox performs all our message display and prompting
  161.               as well as all KB I/O! 
  162.  
  163.             - Sound, Color and location control have been added to
  164.               DialogBox for those who dislike the SAA apprearance.
  165.  
  166.             - MFed now supports an embedded Exit key stroke in Macros:
  167.               appending CHR$(13) to a macro will instruct MFed to exit
  168.               once the preceding text has been fed into the field, MFed
  169.               exits with return code 0.  No need for the user to tap
  170.               another key just to exit!  This feature works as long as
  171.               insert is off and the macro fits with FSize.
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.       
  194.       
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.       
  210.             B.  GLib 1.90 New Routine Summary 
  211.       
  212.       
  213.            - Soundex support!  Imagine your end user scanning a large
  214.              database for a customer based on what the name SOUNDS like
  215.              rather than how it is SPELLED!  Our Soundex routine (2 of
  216.              them actually) allow you to encode a word or name to speed
  217.              up search and retrieve and hashing procedures. 
  218.       
  219.            - BitChkInt, BitSetInt,  BitClrInt, BitChkLng, BitSetLng and
  220.              BitClrLng allow for integer and long integer bit
  221.              manipulation 
  222.       
  223.            - BoxesFrame allows you to highlight or box text on screen
  224.              or just display a 'see thru' type box frame on screen. 
  225.  
  226.            - Disable or enable the mouse driver. 
  227.       
  228.            - Clear desired portions of the screen with ClrEOL (Clear to
  229.              End Of Line), ClrSOL (Clear from Start Of Line), ClrEOS
  230.              (Clear to End of Screen) and ClrSOS (Clear from Start of
  231.              Screen). 
  232.       
  233.            - Convert integers to binary strings.  DeciBin works like
  234.              BASIC's HEX$ to convert a number to binary. 
  235.       
  236.            - Determine file handle capability quickly.  FHandlesFree,
  237.              FHandlesMax and FHandlesUsed return the number of file
  238.              handles available, maximum allowed open at once on the
  239.              system and the number in use.   Great for applications
  240.              running on networks (especially file servers!). 
  241.       
  242.            - KeyLock